import React from 'react';
import {View, Text,ScrollView,StyleSheet} from 'react-native';
import Touchable from "../../components/Touchable";
import { getWidth } from '@/utils/index';
import {connect, ConnectedProps} from 'react-redux';
import {RootState} from '@/models/index';
import {IUserInfo} from '@/models/user';
import Toast from 'react-native-root-toast';
import AsyncStorage from '@react-native-async-storage/async-storage';
const mapStateToProps = ({users, loading}: RootState) => {
  return {
    // 在触发getUserInfo方法时加上加载效果
    loading: loading.effects['users/destroyAccount'],
  };
};
const connector = connect(mapStateToProps);
type ModelState = ConnectedProps<typeof connector>;
interface IProps extends ModelState {
  navigation: {goBack: any; navigate: any};
  route: any;
}
const DestroyAccount = (props:IProps) => {
  const {dispatch,route,navigation} = props;
  const handleDestroy = () => {
    console.log("销毁账号");
    dispatch({
      type: 'users/destroyAccount',
      payload: {
        formData: {
          user_id:route.params.user_id
        },
        callback: () => {
          AsyncStorage.setItem('token',"");
          AsyncStorage.setItem('currentUserInfo',"");
          dispatch({
            // 清空当前用户的信息
            type: 'users/clearCurrentUser',
          });
          Toast.show('注销成功', {
            position: Toast.positions.CENTER,
            duration: Toast.durations.LONG,
            shadow: true,
            animation: true,
          });
          
          navigation.navigate("Register")
        },
      },
    });
  }
  return (
    <View style={styles.destroy}>
      <ScrollView>
      <Text style={styles.title}>XiPai应用账号注销须知</Text>
          <Text>一、注销账号的后果</Text>
        <Text>
       {
        ` 您可以通过隐私政策列明的联系方式联系我们要求注销账户或在我们的产品中直接申请注销账号。\n
        敬请您注意并知悉:\n
        1.注销账号后，您将无法登录、使用该账号,即您将无法再以此账号登录、使用XiPai应用。\n
        2.注销账号后，您曾通过该账号登录、使用XiPai应用的所有内容、信息、数据、记录将会被全部删除或匿名化处理（但国家法律法规、规章、规范性文件，政府的政策、命令等另有要求或为履行我们的合规义务的除外），您也无法再检索、访问、获取、继续使用和找回这些信息或数据，包括但不限于：\n
        (1)该账号下的您自主设置的个人资料（如：头像、昵称等）；\n
        (2)该账号下您主动提供或在使用过程中授权我们收集的个人信息；\n
        (3)其他与该账号相关的内容、信息、数据、历史记录或服务记录等。\n
        3.账号注销具有不可逆转和不可撤销性，账号一旦注销完成，将无法恢复，您的原账号对应的数字ID将可能分配给其他新注册的用户。\n
        4.账号一旦注销，您将不再享有您与我们签署的相关用户协议、其他权利义务性文件中约定的适用于注册用户的权利，但法律法规、规章、规范性文件，政府的政策、命令等另有要求或用户服务协议中另有规定的除外。\n
        二、注销须满足的条件\n
        在您向我们申请注销账号前，为保障您的账号安全和财产权益，您的账号需同时满足以下条件：\n
        1.该账号是您通过我们的官方渠道注册的账号，且为您本人注册、使用的账号；\n
        2.该账号下无未处理完毕的纠纷（如：与其他用户的侵权纠纷、投诉举报或被投诉举报）。\n
        三、其他须知 1.注销申请提交后，您将不能再通过该账号使用XiPai应用的服务。\n`
       }
        </Text>
        <Touchable onPress={handleDestroy} style={styles.destroyBox}>
          <Text style={styles.destroyText}>同意</Text>
        </Touchable>
      </ScrollView>
    </View>
  );
};
const styles = StyleSheet.create({
  destroy:{
    padding:15
  },
  title:{
    width:"100%",
    textAlign:"center",
    fontSize:18,
    fontWeight:"700",
    paddingVertical:10,
  },
  destroyBox:{
    marginBottom:40,
    display:"flex",
    alignItems:"center"
  },
  destroyText: {
    width: getWidth(50),
    height: 35,
    color: '#fff',
    textAlign: 'center',
    backgroundColor: '#A75E5E',
    marginVertical: 35,
    borderRadius: 35,
    lineHeight: 35,
  },
})
export default connector(DestroyAccount);
